Modify VolumeでAmazon Linuxのルートボリュームサイズを変更しても変わらないときの対処方法
こんにちは、コカコーラ好きのカジです。
以下で簡単にディスクのボリュームサイズが変更できるようになりました。
【遂に来た!】EBS でボリュームサイズを変更できるようになりました(ボリュームタイプ変更も)
ただ、EBS の Actions の Modify Volume することでボリュームサイズが変更できるようになりましたが、ルートボリュームで行う手順がわかりにくく、メンバーに教わりながら拡張できたのでご紹介します。
Modify Volume する手順は上記のブログにあるので省略します。 念のため何かあっても良いように作業前にスナップショットのバックアップは取得しておきましょう。
Modify Volume 完了直後
Amazon LinuxのルートボリュームをModify Volumeにて8GBを50GBへ拡張した後の状態は以下となります。 ボリュームは拡張していますが、ファイルシステム側は、そのままの状態になります。
[ec2-user@ip-172-16-xxx-xxx ~]$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/xvda1 7.8G 2.1G 5.7G 27% / devtmpfs 994M 56K 994M 1% /dev tmpfs 1002M 0 1002M 0% /dev/shm [ec2-user@ip-172-16-xxx-xxx ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 50G 0 disk └─xvda1 202:1 0 8G 0 part / [ec2-user@ip-172-16-xxx-xxx ~]$
手順
growpart(cloud-utils-growpart)でファイルシステムの拡張を行います。
[ec2-user@ip-172-16-xxx-xxx ~]$ sudo LANG=C growpart --dry-run /dev/xvda 1 CHANGE: disk=/dev/xvda partition=1: start=4096 old: size=16773086,end=16777182 new: size=104853470,end=104857566 [ec2-user@ip-172-16-xxx-xxx ~]$ [ec2-user@ip-172-16-xxx-xxx ~]$ sudo LANG=C growpart /dev/xvda 1 CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=16773086,end=16777182 new: size=104853470,end=104857566 [ec2-user@ip-172-16-xxx-xxx ~]$
resize2fsでパーティションを拡張し、結果を確認します。
[ec2-user@ip-172-16-xxx-xxx ~]$ sudo resize2fs /dev/xvda1 resize2fs 1.42.12 (29-Aug-2014) Filesystem at /dev/xvda1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 4 The filesystem on /dev/xvda1 is now 13106683 (4k) blocks long. [ec2-user@ip-172-16-xxx-xxx ~]$ [ec2-user@ip-172-16-xxx-xxx ~]$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/xvda1 50G 2.1G 47G 5% / devtmpfs 994M 56K 994M 1% /dev tmpfs 1002M 0 1002M 0% /dev/shm [ec2-user@ip-172-16-xxx-xxx ~]$ [ec2-user@ip-172-16-xxx-xxx ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 50G 0 disk └─xvda1 202:1 0 50G 0 part /
できましたね。
まとめ
ちなみに、growpartは再起動時でも実行されるようで、インスタンスの再起動でも上記と同じ状態になります。 他のLinuxでもgrowpart(cloud-utils-growpart)がインストールされていると対応できるかもしれませんね。 チャンスがあれば試して見たいと思います。